/*-------------------------------------------------------------------------
已知字符串substr为str的母串，在母串substr中查找出str,在其前面添加一个'@'字符，需保证母串内容完整性。
例如：在“HubeiYichang2024ks”中找到“2024”后，将字符串改变为：
                “HubeiYiChang@2024ks”
-------------------------------------------------------------------------
注意：请勿改动主函数main或其他函数中给出的内容，否则不得分。仅在Program-End之间填入若干语句。
------------------------------------------------------------------------*/
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<ctype.h>
#include<stdlib.h>

void changeStr(char str[], char subStr[]) {
    int i = 0, j, k, pop, len, lenSub;
    len = strlen(str);
    lenSub = strlen(subStr);
    while (str[i] != 0) {
        j = 0;
        k = i;
        while (str[k] == subStr[j] && subStr[j] != 0) {
            k++;
            j++;
            /**********Program**********/
            if (subStr[j] == '\0') {
                for (pop = len; pop >= i; pop--) {
                    str[pop + 1] = str[pop];
                }
                str[i] = '@';
                len++;
                i += lenSub;  // 跳过用户输入的字符
            }
            /**********End**********/
        }
        i++;
    }
}

int main() {
    char str[100] = "HubeiYiChang2024ks", subStr[10] = "2024";
    printf("【改编后的字符串为：】\n");
    changeStr(str, subStr);
    puts(str);
    return 0;
}
